Ext.namespace('admin.user');

admin.user.UserAdd = function(config) {
	Ext.apply(this, config);
	this.store = config.store;
	/** 操作类型 */
	this.initUIComponents();
	admin.user.UserAdd.superclass.constructor.call(this);
};
Ext.extend(admin.user.UserAdd, Ext.Window, {
	initUIComponents : function() {
		/*
		 * this.menuRoleStore = new Ext.data.Store({ proxy : new
		 * Ext.data.HttpProxy({ url :
		 * ExtJ.getActionPath("role/queryRoleListAll.do") }), reader : new
		 * Ext.data.JsonReader({ root : 'data' }, [{ name : 'ID', mapping : 'ID' }, {
		 * name : 'NAME', mapping : 'NAME' }]) }); this.menuRoleStore.load();
		 */
		var menuRoletree = new Ext.tree.TreePanel({
			id : 'HANDLE_TREE',
			height : 100,
			rootVisible : false,
			animate : true,
			autoScroll : true,
			defaultType : 'radio',
			checkModel : 'single',
			loader : new Ext.tree.TreeLoader({
						baseParams : {
							nodeId : '-1'
						},
						baseAttrs : {
							uiProvider : Ext.tree.TreeCheckNodeUI
						},
						dataUrl : ExtJ
								.getActionPath('role/queryRoleListchecked.do')
					}),
			root : new Ext.tree.AsyncTreeNode({
						id : '-1',
						text : '根'
					}),
			listeners : {
				'beforeload' : function(node, e) {
					Ext.getCmp('HANDLE_TREE').getLoader().baseParams.nodeId = node.id;
				}.createDelegate(this)
			}
		})
		this.form = new Ext.form.FormPanel({
					layout : 'column',
					height : 250,
					labelWidth : 100,
					labelAlign : 'center',
					autoScroll : false,
					border : false,
					frame : false,
					items : [{
								columnWidth : 1,
								height : 10,
								border : false
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											anchor : '99%',
											fieldLabel : '账号',
											allowBlank : false,
											xtype : 'textfield',
											name : 'GYH',
											id : 'GYH'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											anchor : '99%',
											fieldLabel : '密码',
											allowBlank : false,
											xtype : 'textfield',
											inputType : 'password',
											name : 'USER_PASSWORD',
											id : 'USER_PASSWORD'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											anchor : '99%',
											fieldLabel : '姓名',
											allowBlank : false,
											xtype : 'textfield',
											name : 'XM',
											id : 'XM'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											fieldLabel : '手机号码',
											allowBlank : true,
											xtype : 'textfield',
											anchor : '99%',
											name : 'SJHM',
											id : 'SJHM'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								items : [{
											anchor : '99%',
											fieldLabel : '岗位名称',
											allowBlank : false,
											xtype : 'textfield',
											name : 'GWMC',
											id : 'GWMC'
										}]
							}, {
								columnWidth : 1,
								layout : 'form',
								border : false,
								defaultType : 'radio',
								checkModel : 'single',
								checkboxToggle : false,
								items : [new Ext.ux.ComboBoxCheckTree({
											id : 'ROLEID',
											name : 'ROLEID',
											fieldLabel : '角色',
											anchor : '99%',
											tree : menuRoletree,
											hiddenName : 'setRole',
											selectValueModel : 'all',
											listeners : {
												'expand' : function() {
													Ext.getCmp('HANDLE_TREE')
															.getRootNode()
															.reload();
													Ext.getCmp('HANDLE_TREE')
															.expandAll();
												}.createDelegate(this)
											}
										})]
							}/*
								 * ,{ columnWidth : 1, layout : 'form', border :
								 * false, items : [new Ext.form.ComboBox({
								 * id:"ROLEID", name:"ROLEID", fieldLabel :
								 * '角色', mode: 'remote', store :
								 * this.menuRoleStore, valueField : 'ID',
								 * displayField : 'NAME', hiddenName :
								 * 'setRole', triggerAction : 'all', mode :
								 * 'local', editable : false, selectOnFocus :
								 * true, width:151 })] }
								 */],
					tbar : [{
								text : '保存',
								iconCls : 'add',
								handler : this.onSave.createDelegate(this)
							}, {
								text : '关闭',
								iconCls : 'close',
								handler : this.onCancel.createDelegate(this)
							}]
				});

		Ext.apply(this, {
					id : 'menuAddWindow',
					title : '新增用户',
					border : false,
					layout : 'fit',
					style : {
						marginRight : 'auto',
						marginLeft : 'auto'
					},
					width : 350,
					height : 250,
					modal : true,
					items : [this.form],
					listeners : {
						'render' : this.initData.createDelegate(this)
					}
				});
	},
	initData : function() {
	},
	onSave : function() {
		// var id = Ext.getCmp("ID").getValue();
		var GYH = Ext.getCmp("GYH").getValue();
		var USER_PASSWORD = Ext.getCmp("USER_PASSWORD").getValue();
		var XM = Ext.getCmp("XM").getValue();
		var SJHM = Ext.getCmp("SJHM").getValue();
		var GWMC = Ext.getCmp("GWMC").getValue();
		var ROLEID = Ext.getCmp("ROLEID").getValue();
		if ('' == GYH) {
			Ext.Msg.alert('提示', '账号不能为空!')
			return;
		} else if ('' == USER_PASSWORD) {
			Ext.Msg.alert('提示', '密码不能为空!')
			return;
		}
		if ('' == XM) {
			Ext.Msg.alert('提示', '员工姓名不能为空!')
			return;
		}
		if ('' == GWMC) {
			Ext.Msg.alert('提示', '岗位名称不能为空!')
			return;
		}
		if ('' != SJHM&&SJHM.length!=11) {
			Ext.Msg.alert('提示', '手机号码不合法!')
			return;
		}

		Ext.getBody().mask("正在保存,请稍候...");
		this.form.getForm().submit({
					method : 'post',
					url : ExtJ.getActionPath('/p2puser/addUser.do'),
					params : {
						// id:id,
						GYH : GYH,
						USER_PASSWORD : USER_PASSWORD,
						XM : XM,
						GWMC : GWMC,
						ROLEID : ROLEID,
						SJHM:SJHM
					},
					reset : false,
					success : function(option, action) {
						var text = Ext.decode(action.response.responseText);
						this.close();
						if (text.isAdd) {
							Ext.Msg.alert('提示', '保存成功!');
						} else {
							Ext.Msg.alert('提示', '保存失败!');
						}
						Ext.getBody().unmask(true);
						this.store.reload();
						parent.Ext.getCmp("mainMenu").getRootNode().reload();
					}.createDelegate(this)
				});
	},
	onCancel : function() {
		this.close();
	}
});